package com.lastproject.dto;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

public class SearchUserDTO implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -5137745655677781385L;

	private int id;
	private String username;
	private boolean enabled;
	private String firstname;
	private String lastname;
	private Date dob;
	private String personalPhone;
	private String personalEmail;
	private Date employmentDate;
	private Date departureDate;
	private Date medCheckUpDate;
	private String employmentType;
	private String position;

	private byte[] cv;

	private int prosisNr;
	private String workEmail;
	private String workPhone;
	private String germanContactPerson;
	private String careerLevel;
	private boolean isDepartmentManager;
	private boolean isTeamLeader;

	private Float salary;
	private Float varPart;

	private int idTeamLeader;
	private int idDepartment;
	private int idSuperior;

	private List<Integer> rolesIdList;
	
	private String empDType;

	public SearchUserDTO() {

	}

	public SearchUserDTO(ConfidentialEmployeeDTO ce) {
		this.id = ce.getId();
		this.username = ce.getUsername();
		this.enabled = ce.isEnabled();
		this.firstname = ce.getFirstname();
		this.lastname = ce.getLastname();
		this.dob = ce.getDob();
		this.personalPhone = ce.getPersonalPhone();
		this.personalEmail = ce.getPersonalEmail();
		this.employmentDate = ce.getEmploymentDate();
		this.departureDate = ce.getDepartureDate();
		this.medCheckUpDate = ce.getMedCheckUpDate();
		this.employmentType = ce.getEmploymentType();
		this.position = ce.getPosition();

		this.cv = ce.getCv();

		this.prosisNr = ce.getProsisNr();
		this.workEmail = ce.getWorkEmail();
		this.workPhone = ce.getWorkPhone();
		this.germanContactPerson = ce.getGermanContactPerson();
		this.careerLevel = ce.getCareerLevel();
		this.isDepartmentManager = ce.isDepartmentManager();
		this.isTeamLeader = ce.isTeamLeader();

		this.salary = ce.getSalary();
		this.varPart = ce.getVarPart();

		this.idTeamLeader = ce.getIdTeamLeader();
		this.idDepartment = ce.getIdDepartment();
		this.idSuperior = ce.getIdSuperior();
		
		this.empDType = "ConfidentialEmployee";
	}

	public SearchUserDTO(TraineeDTO t) {
		this.id = t.getId();
		this.username = t.getUsername();
		this.enabled = t.isEnabled();
		this.firstname = t.getFirstname();
		this.lastname = t.getLastname();
		this.dob = t.getDob();
		this.personalPhone = t.getPersonalPhone();
		this.personalEmail = t.getPersonalEmail();
		this.employmentDate = t.getEmploymentDate();
		this.departureDate = t.getDepartureDate();
		this.medCheckUpDate = t.getMedCheckUpDate();
		this.employmentType = t.getEmploymentType();
		this.position = t.getPosition();

		this.cv = t.getCv();
		
		this.workEmail = t.getWorkEmail();

		this.salary = t.getSalary();
		
		this.empDType = "Trainee";

	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public boolean isEnabled() {
		return enabled;
	}

	public void setEnabled(boolean enabled) {
		this.enabled = enabled;
	}

	public String getFirstname() {
		return firstname;
	}

	public void setFirstname(String firstname) {
		this.firstname = firstname;
	}

	public String getLastname() {
		return lastname;
	}

	public void setLastname(String lastname) {
		this.lastname = lastname;
	}

	public Date getDob() {
		return dob;
	}

	public void setDob(Date dob) {
		this.dob = dob;
	}

	public String getPersonalPhone() {
		return personalPhone;
	}

	public void setPersonalPhone(String personalPhone) {
		this.personalPhone = personalPhone;
	}

	public String getPersonalEmail() {
		return personalEmail;
	}

	public void setPersonalEmail(String personalEmail) {
		this.personalEmail = personalEmail;
	}

	public Date getEmploymentDate() {
		return employmentDate;
	}

	public void setEmploymentDate(Date employmentDate) {
		this.employmentDate = employmentDate;
	}

	public Date getDepartureDate() {
		return departureDate;
	}

	public void setDepartureDate(Date departureDate) {
		this.departureDate = departureDate;
	}

	public Date getMedCheckUpDate() {
		return medCheckUpDate;
	}

	public void setMedCheckUpDate(Date medCheckUpDate) {
		this.medCheckUpDate = medCheckUpDate;
	}

	public String getEmploymentType() {
		return employmentType;
	}

	public void setEmploymentType(String employmentType) {
		this.employmentType = employmentType;
	}

	public String getPosition() {
		return position;
	}

	public void setPosition(String position) {
		this.position = position;
	}

	public byte[] getCv() {
		return cv;
	}

	public void setCv(byte[] cv) {
		this.cv = cv;
	}

	public int getProsisNr() {
		return prosisNr;
	}

	public void setProsisNr(int prosisNr) {
		this.prosisNr = prosisNr;
	}

	public String getWorkEmail() {
		return workEmail;
	}

	public void setWorkEmail(String workEmail) {
		this.workEmail = workEmail;
	}

	public String getWorkPhone() {
		return workPhone;
	}

	public void setWorkPhone(String workPhone) {
		this.workPhone = workPhone;
	}

	public String getGermanContactPerson() {
		return germanContactPerson;
	}

	public void setGermanContactPerson(String germanContactPerson) {
		this.germanContactPerson = germanContactPerson;
	}

	public String getCareerLevel() {
		return careerLevel;
	}

	public void setCareerLevel(String careerLevel) {
		this.careerLevel = careerLevel;
	}

	public boolean isDepartmentManager() {
		return isDepartmentManager;
	}

	public void setDepartmentManager(boolean isDepartmentManager) {
		this.isDepartmentManager = isDepartmentManager;
	}

	public boolean isTeamLeader() {
		return isTeamLeader;
	}

	public void setTeamLeader(boolean isTeamLeader) {
		this.isTeamLeader = isTeamLeader;
	}

	public Float getSalary() {
		return salary;
	}

	public void setSalary(Float salary) {
		this.salary = salary;
	}

	public Float getVarPart() {
		return varPart;
	}

	public void setVarPart(Float varPart) {
		this.varPart = varPart;
	}

	public int getIdTeamLeader() {
		return idTeamLeader;
	}

	public void setIdTeamLeader(int idTeamLeader) {
		this.idTeamLeader = idTeamLeader;
	}

	public int getIdDepartment() {
		return idDepartment;
	}

	public void setIdDepartment(int idDepartment) {
		this.idDepartment = idDepartment;
	}

	public int getIdSuperior() {
		return idSuperior;
	}

	public void setIdSuperior(int idSuperior) {
		this.idSuperior = idSuperior;
	}

	public List<Integer> getRolesIdList() {
		return rolesIdList;
	}

	public void setRolesIdList(List<Integer> rolesIdList) {
		this.rolesIdList = rolesIdList;
	}

	public String getEmpDType() {
		return empDType;
	}

	public void setEmpDType(String empDType) {
		this.empDType = empDType;
	}

	
}
